package org.example.projecttwo.entity.content;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 内容删除记录表
 * </p>
 *
 * @author nn
 * @since 2025-11-01
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("content_deleted")
@Schema(name="ContentDeleted对象", description="内容删除记录表")
public class ContentDeleted implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "内容ID")
    @TableId(value = "content_id", type = IdType.ASSIGN_ID)
    private Long contentId;

    @Schema(description = "内容类型: 1=文章，2=新闻")
    @TableField("content_type")
    private Integer contentType;

    @Schema(description = "删除操作人ID")
    @TableField("deleted_by")
    private Long deletedBy;

    @Schema(description = "删除原因")
    @TableField("delete_reason")
    private Integer deleteReason;

    @Schema(description = "删除备注")
    @TableField("delete_remark")
    private String deleteRemark;

    @Schema(description = "删除时间")
    @TableField("deleted_time")
    private LocalDateTime deletedTime;

    @Schema(description = "还原截止时间")
    @TableField("restore_deadline")
    private LocalDateTime restoreDeadline;

    @Schema(description = "下架原因")
    @TableField("off_shelf_reason")
    private Integer offShelfReason;

    @Schema(description = "下架操作人ID")
    @TableField("off_shelf_by")
    private Long offShelfBy;

    @Schema(description = "下架时间")
    @TableField("off_shelf_time")
    private LocalDateTime offShelfTime;


}